﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using Catering_Rules;
using System.Text;
using System.Data;

namespace Catering.Catering_Page.AjaxHandler
{
    /// <summary>
    /// WebService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    [GenerateScriptType(typeof(RCJKs))]
    public class WebServiceRcjk : System.Web.Services.WebService
    {
        [WebMethod]
        public RCJKs GetFactXiaoHao(string AreaID, string ClassName, string StrDTime, string RawIds)
        {
            DateTime DTime = Convert.ToDateTime(StrDTime);
            string[] RawId = RawIds.Split(',');
            Catering_Model.ClassInfo OAreaInfo = new Catering_Rules.ClassInfo().GetModelByModelName(ClassName);
            string ClassID = OAreaInfo.id.ToString();
            DataViewForReport dvfr = new DataViewForReport();
            StringBuilder result = new StringBuilder("");
            DataTable dt = dvfr.GetMonthFactXiaoHao_RichangJiankong(AreaID, DTime, RawId, ClassID);
            RCJKs rcjk = new RCJKs();
            rcjk.Rcjks = new RCJKModel[1];
            rcjk.Rcjks[0] = new RCJKModel();
            //rcjk.Rcjks[1] = new RCJKModel();

            rcjk.Rcjks[0].name = "实际消耗";
            rcjk.Rcjks[0].data = new int[RawId.Length];
            //rcjk.Rcjks[1].name = "标准消耗";
            //rcjk.Rcjks[1].data = new int[RawId.Length];

            if (dt != null && dt.Rows.Count > 0)
            {
                int[] value = new int[RawId.Length];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int number = Convert.ToInt32(dt.Rows[i]["Number"])/1000;//消耗量
                    //int eatNumber = Convert.ToInt32(dt.Rows[i]["EatNumber"]);//人数
                    int rawzs = Convert.ToInt32(dt.Rows[i]["RAWZS"]);//类别
                    //禽肉类：3、鱼虾类：4、蔬菜类：6、水果类：7、谷类薯类及杂豆：8
                    //if (rawzs == 3)//禽肉类
                    //{
                    //    value[0] = number / eatNumber;
                    //}
                    //else if (rawzs == 4)//鱼虾类
                    //{
                    //    value[1] = number / eatNumber;
                    //}
                    //else if (rawzs == 6)//蔬菜类
                    //{
                    //    value[2] = number / eatNumber;
                    //}
                    //else if (rawzs == 7)//水果类
                    //{
                    //    value[3] = number / eatNumber;
                    //}
                    //else if (rawzs == 8)//谷类薯类及杂豆
                    //{
                    //    value[4] = number / eatNumber;
                    //}
                    int n = 0;
                    for (int j = 0; j < RawId.Length; j++)
                    {
                        if (RawId[j] == rawzs.ToString())
                        {
                            n = j;
                            break;
                        }
                    }
                    value[n] = number;
                }
                dt.Dispose();
                rcjk.Rcjks[0].data = value;
            }
            else
            {
                for (int j = 0; j < RawId.Length; j++)
                {
                    rcjk.Rcjks[0].data[j] = 0;
                }
            }
            //dt = dvfr.GetDayBiaoZhunXiaoHao_RichangJiankong(AreaID, DTime, RawId, ClassID);
            //if (dt != null && dt.Rows.Count > 0)
            //{
            //    int[] value = new int[RawId.Length];
            //    for (int i = 0; i < dt.Rows.Count; i++)
            //    {
            //        int number = Convert.ToInt32(dt.Rows[i]["Number"]);//消耗量
            //        int rawzs = Convert.ToInt32(dt.Rows[i]["RAWZS"]);//类别
            //        //禽肉类：3、鱼虾类：4、蔬菜类：6、水果类：7、谷类薯类及杂豆：8
            //        //if (rawzs == 3)//禽肉类
            //        //{
            //        //    value[0] = number;
            //        //}
            //        //else if (rawzs == 4)//鱼虾类
            //        //{
            //        //    value[1] = number;
            //        //}
            //        //else if (rawzs == 6)//蔬菜类
            //        //{
            //        //    value[2] = number;
            //        //}
            //        //else if (rawzs == 7)//水果类
            //        //{
            //        //    value[3] = number;
            //        //}
            //        //else if (rawzs == 8)//谷类薯类及杂豆
            //        //{
            //        //    value[4] = number;
            //        //}
            //        int n = 0;
            //        for (int j = 0; j < RawId.Length; j++)
            //        {
            //            if (RawId[j] == rawzs.ToString())
            //            {
            //                n = j;
            //                break;
            //            }
            //        }
            //        value[n] = number;
            //    }
            //    dt.Dispose();
            //    rcjk.Rcjks[1].data = value;
            //}
            //else
            //{
            //    for (int j = 0; j < RawId.Length; j++)
            //    {
            //        rcjk.Rcjks[1].data[j] = 0;
            //    }
            //}
            return rcjk;
        }
        [WebMethod]
        public RCJKs GetFactXiaoHaoByBanZu(string AreaID, string ClassName, string StrDTime, string RawIds)
        {
            DateTime DTime = Convert.ToDateTime(StrDTime);
            string[] RawId = RawIds.Split(',');
            Catering_Model.ClassInfo OAreaInfo = new Catering_Rules.ClassInfo().GetModelByModelName(ClassName);
            string ClassID = OAreaInfo.id.ToString();
            DataViewForReport dvfr = new DataViewForReport();
            StringBuilder result = new StringBuilder("");
            DataTable dt = dvfr.GetDayFactXiaoHao_RichangJiankong(AreaID, DTime, RawId, ClassID);
            RCJKs rcjk = new RCJKs();
            rcjk.Rcjks = new RCJKModel[1];
            rcjk.Rcjks[0] = new RCJKModel();

            rcjk.Rcjks[0].name = "实际消耗";
            rcjk.Rcjks[0].data = new int[RawId.Length];

            if (dt != null && dt.Rows.Count > 0)
            {
                int[] value = new int[RawId.Length];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    int number = Convert.ToInt32(dt.Rows[i]["Number"])/1000;//消耗量
                    int eatNumber = Convert.ToInt32(dt.Rows[i]["EatNumber"]);//人数
                    int rawzs = Convert.ToInt32(dt.Rows[i]["RAWZS"]);//类别
                    //禽肉类：3、鱼虾类：4、蔬菜类：6、水果类：7、谷类薯类及杂豆：8
                    //if (rawzs == 3)//禽肉类
                    //{
                    //    value[0] = number / eatNumber;
                    //}
                    //else if (rawzs == 4)//鱼虾类
                    //{
                    //    value[1] = number / eatNumber;
                    //}
                    //else if (rawzs == 6)//蔬菜类
                    //{
                    //    value[2] = number / eatNumber;
                    //}
                    //else if (rawzs == 7)//水果类
                    //{
                    //    value[3] = number / eatNumber;
                    //}
                    //else if (rawzs == 8)//谷类薯类及杂豆
                    //{
                    //    value[4] = number / eatNumber;
                    //}
                    int n = 0;
                    for (int j = 0; j < RawId.Length; j++)
                    {
                        if (RawId[j] == rawzs.ToString())
                        {
                            n = j;
                            break;
                        }
                    }
                    value[n] = number;
                }
                dt.Dispose();
                rcjk.Rcjks[0].data = value;
            }
            else
            {
                for (int j = 0; j < RawId.Length; j++)
                {
                    rcjk.Rcjks[0].data[j] = 0;
                }
            }
            return rcjk;
        }
    }

    public class RCJKs
    {
        private RCJKModel[] rcjks;

        public RCJKModel[] Rcjks
        {
            get { return rcjks; }
            set { rcjks = value; }
        }
    }

    public class RCJKModel
    {
        private string m_Name;

        public string name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }
        private int[] m_Data;

        public int[] data
        {
            get { return m_Data; }
            set { m_Data = value; }
        }
    }


}
